An exemplary jointed robot is a humanoid robot, that is to say one possessing certain attributes of the appearance and functionalities of man: a head, a trunk, two arms, two hands, two legs, two feet, etc. Over and above appearance, the functions that a humanoid robot is capable of fulfilling will depend on its ability to perform movements, to speak and to “reason”. Some humanoid robots are capable of walking, of making gestures, with the limbs or with the head. The complexity of the gestures that they are capable of performing is ever increasing. Some robots of this type such as NAO™ developed and marketed by the applicant, may possess tens of joints whose movements are actuated by electric motors. The command-control logic of said motors determines at one and the same time the rigidity of the joints and the electrical consumption (and therefore the evolution of the temperature) of the robot. It is thus one of the determining elements in respect of the safety of the robot (impact on stability), the possible duration of its use (compulsory shutdown onwards of a limit temperature) and the experience felt by a user in his interaction with the robot, too great a rigidity of the articular chains distancing the robot from an ideal humanoid type. A problem area of the same type is also present in respect of other types of robots, non-humanoid, such as animal robots or more generally robots comprising jointed chains.
The command-control logic can use setpoints of position of the joint (generally based on angle), of velocity of the joint (derivative of the angle) and/or of torque. Such logic is controlled by sensors and may or may not comprise feedback loops making it possible to guide convergence toward the setpoint. Command-control using a torque setpoint or current setpoint is the most expensive and the least widespread. Indeed, it is in this case necessary to use an accurate sensor for the value of the current, and this will be expensive, notably in the case where the number of joints is very high.
Jointed-chain robots may have a fixed base, such as for example industrial jointed arms, notably to carry out assembly tasks. This then entails objects whose unit cost price may be as much as a few tens or hundreds of thousands of euros, with a still small number of joints. In this case, torque-based command-control logic may be suitable insofar as the unit cost price is not the main consideration.
In the case of jointed-chain robots with mobile base, that is to say not fixed to the ground, a category to which humanoid robots belong, the number of joints being higher and the cost price constraint very significant, use is generally made of command-control logic for the joints based on position and/or angular velocity which is much less expensive for a given level of accuracy. However this command-control logic has several significant drawbacks, notably the fact that, if an obstacle prevents the motor from attaining the constraint defined by a target position, the motor will continue to want to attain the position, unattainable in reality, and therefore in so doing will consume electricity and raise the temperature of the joint and of the whole until it causes disabling of the robot in order to avoid damage thereto. This problem is all the more troublesome as a simple lack of horizontality of the feet of the robot when standing upright suffices to trigger the phenomenon of overheating.
To cope with problems of this type, it is known from earlier versions of NAO™ to define a rigidity parameter for each joint which makes it possible to limit the torque applied to the latter to a level substantially lower than the physical limits defined by the constructor, so as to reduce the occurrences of setting to safety mode. However, this solution does not make it possible to avoid overconsumption of energy, notably when one of the chains of the robot encounters an obstacle on its travels. Indeed, a uniform limitation, necessarily fixed at a relatively high level to avoid overly frequent shutdowns, will not allow early interruption of the consumption of the joints in question.
It is also known, notably from patent application US2008/258670, to calculate a value of torque to be applied to a joint and to convert it into an angular velocity setpoint. However, no account is taken in this embodiment of the reaction forces at the points of contact of the robot with its environment, said forces being the main origin of applications of overly high torques which generate overheating.